<?php
namespace app\api\controller;

use app\extra\ApiToken;
use app\extra\DBCont;
use Think\Db;

/**
 * @title 广告获取
 * @description 接口说明
 * @group 移动端投票
 */
class Advert extends Base
{

    /**
     * @title 随机获取一条广告
     * @description 接口说明
     * @author hardy
     * @url /api/advert
     * @method GET
     *
     * @return title:广告标题
     * @return link:跳转链接
     * @return image:广告图片
     * @return page_view:浏览量
     * @return capacity:加载量
     * @return publish:发布，展示中，已下架
     * @return create_time:创建时间
     * @return user_desc:创建者
     * @return publish_user:发布人
     *
     * @return list:消息列表,有page参数则返回值list，list是一个数组，
     * @return size:每页最大数，默认20，可由前端传递参数决定 page参数返回值，
     * @return page:当前页，page参数返回值，
     * @return count:总记录数， page参数返回值，
     */
    public function gets()
    {
        $where[] = ['publish','=', DBCont::PUBLISH_SUCCESS];
        $data = model($this->controller)->randomOneData($where);
        if(empty($data)){
            $this->responseSuccess(null);
        }
//        // 浏览量加一
        $save = [
            'id' => $data['id'],
            'page_view' => $data['page_view'] + 1
        ];
        if($save['page_view'] >= $data['capacity']){
            $save['publish'] = DBCont::PUBLISH_CANCEL;
        }
        model($this->controller)->update($save);
        $this->responseSuccess($data);
    }
}